package com.headfirst.StructuralMode.decorator.version1;

/**
 * 所有饮料的抽象类（被装饰的对象,可以由具体的装饰者对象进行装饰，即：在具体的饮料中添加不同的调料）
 * @author sunhongguang
 * @create 2022-01-22-20:27
 */
public abstract class Beverage {

    /**
     * 饮料的描述信息
     */
    private String description = "Unknown Beverage";

    /**
     * 饮料的大、中、小杯,默认是中杯
     */
    private String size = "中杯";

    public String getDescription(){
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getSize() {
        return size;
    }
    public void setSize(String size) {
        this.size = size;
    }
    /**
     * 饮料的价格，子类需要实现这个方法，针对不同类型的饮料设置其价格
     * @return 饮料的价格
     */
    public abstract double cost();
}
